Improved Algorithms for Maintaining DFS Tree in Undirected Graphs
نویسندگان
چکیده
Depth first search (DFS) tree is one of the most well-known data structures for designing efficient graph algorithms. Given an undirected graph G = (V,E) with n vertices and m edges, the textbook algorithm takes O(n + m) time to construct a DFS tree. In this paper, we study the problem of maintaining a DFS tree when the graph is undergoing updates. Formally, we show the following results. • Incremental DFS tree: Given any arbitrary online sequence of edge or vertex insertions, we can report a DFS tree in O(n) worst case time per operation, and O ( min{m logn + n log n, n} ) preprocessing time. • Fault tolerant DFS tree: There exists a data structure of size O(m logn), such that given any set F of failed vertices or edges, it can report a DFS tree of the graph G \ F in O(n|F| log n) time. • Fully dynamic DFS tree: Given any arbitrary online sequence of edge or vertex updates, we can report a DFS tree in O( √ nm log n) worst case time per operation. • Offline Incremental DFS tree: There exists a data structure with construction time O ( min{m logn + n log n, n} ) such that given any set I of inserted vertices or edges, a DFS tree of the graph G + I (denotes the graph obtained applying the insertions in I to G) can be reported in O(n + |I|) time. Our result for incremental DFS tree improves the previous O(n log n) worst case update time by Baswana et al. [1], and matches the trivial Ω(n) lower bound when it is required to explicitly output the DFS tree. Our other results also improve the corresponding state-of-the-art results by Baswana et al. [1] as well. Our work builds on the framework of the breakthrough work by Baswana et al. [1], together with a novel use of a tree-partition lemma by Duan and Zhang [8], and the celebrated fractional cascading technique by Chazelle and Guibas [5, 6].
منابع مشابه
Incremental DFS algorithms: a theoretical and experimental study
Depth First Search (DFS) tree is a fundamental data structure used for solving various graph problems. For a given graph G = (V,E) on n vertices and m edges, a DFS tree can be built in O(m + n) time. In the last 20 years, a few algorithms have been designed for maintaining a DFS tree efficiently under insertion of edges. For undirected graphs, there are two prominent algorithms, namely, ADFS1 a...
متن کاملDynamic DFS in Undirected Graphs: breaking the O(m) barrier
Given an undirected graph G = (V, E) on n vertices and m edges, we address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion and deletion of vertices or edges). We present the following results for this problem. 1. Fault tolerant DFS tree: There exists a data structure of size˜O(m) 1 such that given any set F of failed vertices or edges, a DFS tree of the gra...
متن کاملIncremental Algorithm for Maintaining DFS Tree for Undirected Graphs
Depth First Search (DFS) tree is a fundamental data structure for graphs used in solving various algorithmic problems. However, very few results are known for maintaining DFS tree in a dynamic environment insertion or deletion of edges. The only non-trivial result for this problem is by Franciosa et al. [4]. They showed that, for a directed acyclic graph on n vertices, a DFS tree can be maintai...
متن کاملDynamic DFS Tree in Undirected Graphs: breaking the O(m) barrier
Depth first search (DFS) tree is a fundamental data structure for solving various problems in graphs. It is well known that it takes O(m+ n) time to build a DFS tree for a given undirected graph G = (V,E) on n vertices and m edges. We address the problem of maintaining a DFS tree when the graph is undergoing updates (insertion and deletion of vertices or edges). We present the following results...
متن کاملDFS Tree Construction: Algorithms and Characterizations
The Depth First Search (DF.S.) algori.thm i§. one of the basic techniques which is used in a very large variety of graph algorithms. Every -application' of the DFS involves, beside traversing the graph, cOnstructing a special structured tree, called a DFS tree. In this paper, we give a complete characterization of all the graphs in which every spanning tree is ~ 'DFS tree. These graphs are call...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1607.04913 شماره
صفحات -
تاریخ انتشار 2016